1. Field of the Invention
The present invention relates to a mobile Internet Protocol version 6 (IPv6) network system and a method for forwarding a packet in the system.
2. Description of the Related Art
Mobile Internet Protocol (IP) allows a mobile node to be in seamless communication while moving by using two IP addresses, i.e., a unique IP address assigned to the mobile node and a new address assigned on a link to which the mobile node has moved.
An Internet Protocol version 4 (IPv4) mobile IP is limited in an address space, because the Internet Protocol version 4 (IPv4) uses an IPv4 address space system, and has a problem of triangular routing or a shortcoming of requiring a foreign agent.
Meanwhile, an Internet Protocol version 6 (IPv6) mobile IP is based upon Internet Protocol version 6 (IPv6) protocol and does not require a foreign agent because a new address is created on a link to which a mobile node has moved. Accordingly, a terminal with mobility is allowed to use mobile Internet Protocol version 6 (IPv6) irrespective of support of the link. The Internet Protocol version 6 (IPv6) mobile IP supports path optimization to minimize a path delay.
A contemporary mobile Internet Protocol version 6 (IPv6) network system will now be explained. The mobile Internet Protocol version 6 (IPv6) network system is constructed with a home link and a foreign link. A mobile node is located on the home link and operates as a general Internet Protocol version 6 (IPv6) node. The mobile node may transmit a packet to a correspondent node through a general IP routing method in which a home address is used. The mobile node 100 can move from one link to another link, and continues to connect with other nodes using the home address. Here, the home address is a permanent address assigned to the mobile node on the home link. A home agent is a router located on the home link for registering a current position of the mobile node which has moved to a foreign link.
The mobile node may transmit a packet to the correspondent node after moving from the home link to another position (e.g., a foreign link). Here, mobile Internet Protocol version 6 (IPv6) is a protocol applied when a mobile node moves to a foreign link. After moving to the foreign link, the mobile node is allocated a prefix by a router on the foreign link and obtains a care-of address. The mobile node transmits a binding update message including the care-of address information to the home agent. Here, the binding is information for connecting the home address of the mobile node with the care-of address for a life time. Using the binding information, the correspondent node can continue to communicate with the mobile node using the home address even when the mobile node has moved. The mobile node needs to update the binding information when the mobile node obtains a new care-of address or desires to maintain the binding information beyond the life time. Upon receipt of the binding update message from the mobile node, the home agent transmits a binding response message to the mobile node. Thus, the binding is established.
The home agent then tunnels a packet transmitted from the correspondent node to the home address of the mobile node using the care-of address of the mobile node to transmit the packet to a current position of the mobile node. Meanwhile, the home agent decapsulates an IP header from the packet transmitted from the mobile node to the correspondent node and transmits the resultant packet to the correspondent node. By doing so, the mobile node can continue to communicate with the correspondent node.
In addition to the communication method, the mobile Internet Protocol version 6 (IPv6) may allow for direct communication with a correspondent node by supporting path optimization. That is, when a mobile node receives a packet from a correspondent node through tunneling, the mobile node transmits a binding update message having an address of the correspondent node as a destination. Upon receipt of the binding update message from the mobile node, the correspondent node transmits a binding response message. Thus, the binding is established between the mobile node and the correspondent node. This allows the mobile node and the correspondent node to directly communicate with each other, not via a home agent.
In the home agent, a network processor (“packet processor”) forwards a packet transmitted and received between the mobile node and the correspondent node. The home agent is also constructed with a next-hop entry table and a binding cache entry table.
After receiving a packet, the packet processor first checks a destination address and a next header included in the received packet to determine a forwarding direction of the packet. In other words, when a destination address for the received packet is an address of the home agent and information included in the next header is “41”, the packet processor determines that the packet received from the mobile node is a tunneling packet to be transmitted to the correspondent node. Consequently, the packet processor removes a tunnel header from the tunneling packet received from the mobile node and uses routing information (e.g., a source address) included in the packet without the tunnel header to look up output port (Outport) information and next hop information in the next-hop entry table. The packet processor forwards the packet without the tunnel header to the correspondent node, based upon the output port information and the next hop information looked up in the next-hop entry table.
On the other hand, when the destination address included in the received packet is not the home agent address or the information included in the next header is not “41”, the packet processor looks up to see whether the destination address included in the received packet is included in the binding cache entry table.
When the source address included in the received packet exists in the binding cache entry table, the packet processor encapsulates the received packet using a binding cache entry corresponding to the source address of the binding cache entry table. In this case, the binding cache entry includes a destination address corresponding to the source address and a life time. Preferably, the source address is a home agent address, and the destination address is a care-of address of the mobile node.
After encapsulating the received packet using the binding cache entry information, the packet processor looks up the output port (Outport) information and next hop information in the next-hop entry table using routing information (e.g., the source address) included in the received packet. The packet processor forwards the encapsulated packet to the mobile node, based upon the output port information and the next hop information looked up in the next-hop entry table.
Meanwhile, when the destination address included in the received packet does not exist in the binding cache entry table, the packet processor looks up the output port (Outport) information and the next hop information in the next-hop entry table using the routing information (e.g., the source address) included in the received packet. The packet processor forwards the received packet to a receiving side, based upon the output port information and the next hop information looked up in the next-hop entry table. Thus, the packet in this case is not a packet transmitted and received between the mobile node and the correspondent node.
As described above, the packet processor looks up the binding cache entry table even when a packet is transmitted from the correspondent node to the mobile node and when a packet is not transmitted between the correspondent node and the mobile node.
This causes packet forwarding delay from the correspondent node to the mobile node.